// Code generated by mockery v2.20.2. DO NOT EDIT.

package mocks

import (
	context "context"

	mock "github.com/stretchr/testify/mock"
	proto "gitverse.ru/synapse/kubelatte/pkg/grpc/proto"
)

// ConfigSyncServer is an autogenerated mock type for the ConfigSyncServer type
type ConfigSyncServer struct {
	mock.Mock
}

// GetNamespaces provides a mock function with given fields: _a0, _a1
func (_m *ConfigSyncServer) GetNamespaces(_a0 context.Context, _a1 *proto.EmptyMessage) (*proto.Namespaces, error) {
	ret := _m.Called(_a0, _a1)

	var r0 *proto.Namespaces
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) (*proto.Namespaces, error)); ok {
		return rf(_a0, _a1)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) *proto.Namespaces); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*proto.Namespaces)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *proto.EmptyMessage) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetScopes provides a mock function with given fields: _a0, _a1
func (_m *ConfigSyncServer) GetScopes(_a0 context.Context, _a1 *proto.EmptyMessage) (*proto.Scopes, error) {
	ret := _m.Called(_a0, _a1)

	var r0 *proto.Scopes
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) (*proto.Scopes, error)); ok {
		return rf(_a0, _a1)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) *proto.Scopes); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*proto.Scopes)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *proto.EmptyMessage) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTemplates provides a mock function with given fields: _a0, _a1
func (_m *ConfigSyncServer) GetTemplates(_a0 context.Context, _a1 *proto.EmptyMessage) (*proto.Templates, error) {
	ret := _m.Called(_a0, _a1)

	var r0 *proto.Templates
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) (*proto.Templates, error)); ok {
		return rf(_a0, _a1)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) *proto.Templates); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*proto.Templates)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *proto.EmptyMessage) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTriggers provides a mock function with given fields: _a0, _a1
func (_m *ConfigSyncServer) GetTriggers(_a0 context.Context, _a1 *proto.EmptyMessage) (*proto.Triggers, error) {
	ret := _m.Called(_a0, _a1)

	var r0 *proto.Triggers
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) (*proto.Triggers, error)); ok {
		return rf(_a0, _a1)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) *proto.Triggers); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*proto.Triggers)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *proto.EmptyMessage) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// LastUpdate provides a mock function with given fields: _a0, _a1
func (_m *ConfigSyncServer) LastUpdate(_a0 context.Context, _a1 *proto.EmptyMessage) (*proto.ServerTime, error) {
	ret := _m.Called(_a0, _a1)

	var r0 *proto.ServerTime
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) (*proto.ServerTime, error)); ok {
		return rf(_a0, _a1)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) *proto.ServerTime); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*proto.ServerTime)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *proto.EmptyMessage) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Ping provides a mock function with given fields: _a0, _a1
func (_m *ConfigSyncServer) Ping(_a0 context.Context, _a1 *proto.EmptyMessage) (*proto.EmptyMessage, error) {
	ret := _m.Called(_a0, _a1)

	var r0 *proto.EmptyMessage
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) (*proto.EmptyMessage, error)); ok {
		return rf(_a0, _a1)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *proto.EmptyMessage) *proto.EmptyMessage); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*proto.EmptyMessage)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *proto.EmptyMessage) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Sync provides a mock function with given fields: _a0, _a1
func (_m *ConfigSyncServer) Sync(_a0 context.Context, _a1 *proto.UpdateConfigEvent) (*proto.EmptyMessage, error) {
	ret := _m.Called(_a0, _a1)

	var r0 *proto.EmptyMessage
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, *proto.UpdateConfigEvent) (*proto.EmptyMessage, error)); ok {
		return rf(_a0, _a1)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *proto.UpdateConfigEvent) *proto.EmptyMessage); ok {
		r0 = rf(_a0, _a1)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*proto.EmptyMessage)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *proto.UpdateConfigEvent) error); ok {
		r1 = rf(_a0, _a1)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// mustEmbedUnimplementedConfigSyncServer provides a mock function with given fields:
func (_m *ConfigSyncServer) mustEmbedUnimplementedConfigSyncServer() {
	_m.Called()
}

type mockConstructorTestingTNewConfigSyncServer interface {
	mock.TestingT
	Cleanup(func())
}

// NewConfigSyncServer creates a new instance of ConfigSyncServer. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func NewConfigSyncServer(t mockConstructorTestingTNewConfigSyncServer) *ConfigSyncServer {
	mock := &ConfigSyncServer{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}
